package com.pochoF1.daos;

import org.hibernate.Query;

import com.pochoF1.entities.PilotoEntidad;

public class PilotoDAO extends GenericDAO<PilotoEntidad> {

	private static PilotoDAO instance = null;

	protected PilotoDAO() {
	}

	public static PilotoDAO getInstance() {
		if (instance == null) {
			instance = new PilotoDAO();
		}
		return instance;
	}

	
	
	public void guardar(PilotoEntidad piloto) throws Exception{
		if(piloto.getEquipo().getEquipo()!=null && EquipoDAO.getInstance().get(piloto.getEquipo().getEquipo())==null){
			EquipoDAO.getInstance().saveEquipo(piloto.getEquipo());
		}
		if(PilotoDAO.getInstance().get(piloto.getIdPiloto())==null){
			PilotoDAO.getInstance().save(piloto);
		}
		
	}
	
	public PilotoEntidad getPilotoByName(String name){
		Query query = getHibernateTemplate().createQuery("from " + PilotoEntidad.class.getName() + " pe where pe.nombre = :nombre");
		query.setParameter("nombre", name);
		PilotoEntidad piloto = (PilotoEntidad)query.uniqueResult();
		getSession().getTransaction().commit();
		return piloto;
	}

}
